package benny_driving_ser.dao;

import java.sql.Connection;
import java.util.List;

import benny_driving_ser.ObjectBean.PayCodeBean;

public interface PayCodeDao {
	
	
	/**
	 * 根据支付码查询支付码信息
	 * @return
	 */
	public List<PayCodeBean> queryPayCode(String payCode);
	
	/**
	 * 校验支付码是否可用
	 * @param payCode
	 * @return
	 */
	public int checkPayCode(String payCode);
	
	
	/**
	 * 按照规则生成支付码,并将生成的支付码插入到数据库中
	 * @param codesource    数据源(比如畅尊卡号)
	 * @param paytype		抵扣类型 1为公里,2为金额,3为等候时间
	 * @param paycost		抵扣额度
	 * @param wait			是否计算等候时间  0为计算,1为不计算
	 * @param times			使用次数
	 * @param dayOrNight	日卡夜卡,0为日卡,1为夜卡
	 * @param isActivate	是否激活
	 * @return
	 */
	public int insertPayCode(String codesource,	String paytype,String paycost,
			String wait,String times,String dayOrNight,	String isActivate);
	
	
	/**
	 * 激活支付码
	 * @param payCode
	 * @return
	 */
	public int activatePayCode(String payCode,int months);
	
	/**
	 * 添加支付码使用记录
	 * @param payCode
	 * @param conn
	 * @return
	 */
	public int addPayCodeUseLog(PayCodeBean payCode,int months,int useType,Connection conn);
	
	/**
	 * 
	 * @param payCode
	 * @param conn
	 * @return
	 */
	public int updatePayCodeState(String payCode,Connection conn);
	
	/**
	 * 
	 * @param username
	 * @param payCost
	 * @param orderid
	 * @param driid
	 * @param conn
	 * @return
	 */
	public  int insertPayCost2Pay(String username,int payCost,int orderid,int driid,Connection conn,double balance);
	
	/**
	 * 检测支付码是否可用
	 * @param payCode
	 * @return
	 */
	public int checkPayCode2(String payCode);
}
